<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Caffe: caffe::DataLayer&lt; Dtype &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Caffe
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacecaffe.html">caffe</a></li><li class="navelem"><a class="el" href="classcaffe_1_1DataLayer.html">DataLayer</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classcaffe_1_1DataLayer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">caffe::DataLayer&lt; Dtype &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for caffe::DataLayer&lt; Dtype &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcaffe_1_1DataLayer.png" usemap="#caffe::DataLayer_3C_20Dtype_20_3E_map" alt=""/>
  <map id="caffe::DataLayer_3C_20Dtype_20_3E_map" name="caffe::DataLayer_3C_20Dtype_20_3E_map">
<area href="classcaffe_1_1BasePrefetchingDataLayer.html" alt="caffe::BasePrefetchingDataLayer&lt; Dtype &gt;" shape="rect" coords="133,112,389,136"/>
<area href="classcaffe_1_1BaseDataLayer.html" title="Provides base for data layers that feed blobs to the Net. " alt="caffe::BaseDataLayer&lt; Dtype &gt;" shape="rect" coords="0,56,256,80"/>
<area href="classcaffe_1_1InternalThread.html" alt="caffe::InternalThread" shape="rect" coords="266,56,522,80"/>
<area href="classcaffe_1_1Layer.html" title="An interface for the units of computation which can be composed into a Net. " alt="caffe::Layer&lt; Dtype &gt;" shape="rect" coords="0,0,256,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a55d92ba6737e695551eca610868f1fae"><td class="memItemLeft" align="right" valign="top"><a id="a55d92ba6737e695551eca610868f1fae"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>DataLayer</b> (const LayerParameter &amp;param)</td></tr>
<tr class="separator:a55d92ba6737e695551eca610868f1fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acac617f0f29b3b6eb3e3ae4a470c915e"><td class="memItemLeft" align="right" valign="top"><a id="acac617f0f29b3b6eb3e3ae4a470c915e"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>DataLayerSetUp</b> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top)</td></tr>
<tr class="separator:acac617f0f29b3b6eb3e3ae4a470c915e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a5198f51cb51854be3d2d1e7891eeae"><td class="memItemLeft" align="right" valign="top"><a id="a6a5198f51cb51854be3d2d1e7891eeae"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1DataLayer.html#a6a5198f51cb51854be3d2d1e7891eeae">type</a> () const</td></tr>
<tr class="memdesc:a6a5198f51cb51854be3d2d1e7891eeae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layer type. <br /></td></tr>
<tr class="separator:a6a5198f51cb51854be3d2d1e7891eeae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b6fa99ededf0863d8bab4a7a46addae"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1DataLayer.html#a2b6fa99ededf0863d8bab4a7a46addae">ExactNumBottomBlobs</a> () const</td></tr>
<tr class="memdesc:a2b6fa99ededf0863d8bab4a7a46addae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the exact number of bottom blobs required by the layer, or -1 if no exact number is required.  <a href="#a2b6fa99ededf0863d8bab4a7a46addae">More...</a><br /></td></tr>
<tr class="separator:a2b6fa99ededf0863d8bab4a7a46addae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0c5a7504085a6699272cdcfa8611887"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1DataLayer.html#ab0c5a7504085a6699272cdcfa8611887">MinTopBlobs</a> () const</td></tr>
<tr class="memdesc:ab0c5a7504085a6699272cdcfa8611887"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the minimum number of top blobs required by the layer, or -1 if no minimum number is required.  <a href="#ab0c5a7504085a6699272cdcfa8611887">More...</a><br /></td></tr>
<tr class="separator:ab0c5a7504085a6699272cdcfa8611887"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac47e9f3bff3db9d7364f6c392427745c"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1DataLayer.html#ac47e9f3bff3db9d7364f6c392427745c">MaxTopBlobs</a> () const</td></tr>
<tr class="memdesc:ac47e9f3bff3db9d7364f6c392427745c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum number of top blobs required by the layer, or -1 if no maximum number is required.  <a href="#ac47e9f3bff3db9d7364f6c392427745c">More...</a><br /></td></tr>
<tr class="separator:ac47e9f3bff3db9d7364f6c392427745c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcaffe_1_1BasePrefetchingDataLayer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcaffe_1_1BasePrefetchingDataLayer.html">caffe::BasePrefetchingDataLayer&lt; Dtype &gt;</a></td></tr>
<tr class="memitem:a527e2b51c73759ea5f7e28ced6a371ef inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a527e2b51c73759ea5f7e28ced6a371ef"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>BasePrefetchingDataLayer</b> (const LayerParameter &amp;param)</td></tr>
<tr class="separator:a527e2b51c73759ea5f7e28ced6a371ef inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3b7914abaa6d46c148864c0e28204ad inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1BasePrefetchingDataLayer.html#ad3b7914abaa6d46c148864c0e28204ad">LayerSetUp</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top)</td></tr>
<tr class="memdesc:ad3b7914abaa6d46c148864c0e28204ad inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does layer-specific setup: your layer should implement this function as well as Reshape.  <a href="classcaffe_1_1BasePrefetchingDataLayer.html#ad3b7914abaa6d46c148864c0e28204ad">More...</a><br /></td></tr>
<tr class="separator:ad3b7914abaa6d46c148864c0e28204ad inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21fea2e38602ff125fceafe2feece212 inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a21fea2e38602ff125fceafe2feece212"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1BasePrefetchingDataLayer.html#a21fea2e38602ff125fceafe2feece212">Forward_cpu</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top)</td></tr>
<tr class="memdesc:a21fea2e38602ff125fceafe2feece212 inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Using the CPU device, compute the layer output. <br /></td></tr>
<tr class="separator:a21fea2e38602ff125fceafe2feece212 inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cc79458a096ec130139b92f4f379aa2 inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a3cc79458a096ec130139b92f4f379aa2"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1BasePrefetchingDataLayer.html#a3cc79458a096ec130139b92f4f379aa2">Forward_gpu</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top)</td></tr>
<tr class="memdesc:a3cc79458a096ec130139b92f4f379aa2 inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Using the GPU device, compute the layer output. Fall back to <a class="el" href="classcaffe_1_1BasePrefetchingDataLayer.html#a21fea2e38602ff125fceafe2feece212" title="Using the CPU device, compute the layer output. ">Forward_cpu()</a> if unavailable. <br /></td></tr>
<tr class="separator:a3cc79458a096ec130139b92f4f379aa2 inherit pub_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcaffe_1_1BaseDataLayer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcaffe_1_1BaseDataLayer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcaffe_1_1BaseDataLayer.html">caffe::BaseDataLayer&lt; Dtype &gt;</a></td></tr>
<tr class="memitem:abf8b0153155bc04864ebeeb4c117d7a1 inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="abf8b0153155bc04864ebeeb4c117d7a1"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>BaseDataLayer</b> (const LayerParameter &amp;param)</td></tr>
<tr class="separator:abf8b0153155bc04864ebeeb4c117d7a1 inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2955d06a5e67609582fb293a0a37673f inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1BaseDataLayer.html#a2955d06a5e67609582fb293a0a37673f">Reshape</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top)</td></tr>
<tr class="memdesc:a2955d06a5e67609582fb293a0a37673f inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjust the shapes of top blobs and internal buffers to accommodate the shapes of the bottom blobs.  <a href="classcaffe_1_1BaseDataLayer.html#a2955d06a5e67609582fb293a0a37673f">More...</a><br /></td></tr>
<tr class="separator:a2955d06a5e67609582fb293a0a37673f inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d2c7a18383ff7625d80806ede1d9e3b inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a9d2c7a18383ff7625d80806ede1d9e3b"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1BaseDataLayer.html#a9d2c7a18383ff7625d80806ede1d9e3b">Backward_cpu</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top, const vector&lt; bool &gt; &amp;propagate_down, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom)</td></tr>
<tr class="memdesc:a9d2c7a18383ff7625d80806ede1d9e3b inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Using the CPU device, compute the gradients for any parameters and for the bottom blobs if propagate_down is true. <br /></td></tr>
<tr class="separator:a9d2c7a18383ff7625d80806ede1d9e3b inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a537656c76260c7f669c713506a5f4651 inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a537656c76260c7f669c713506a5f4651"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1BaseDataLayer.html#a537656c76260c7f669c713506a5f4651">Backward_gpu</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top, const vector&lt; bool &gt; &amp;propagate_down, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom)</td></tr>
<tr class="memdesc:a537656c76260c7f669c713506a5f4651 inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Using the GPU device, compute the gradients for any parameters and for the bottom blobs if propagate_down is true. Fall back to <a class="el" href="classcaffe_1_1BaseDataLayer.html#a9d2c7a18383ff7625d80806ede1d9e3b" title="Using the CPU device, compute the gradients for any parameters and for the bottom blobs if propagate_...">Backward_cpu()</a> if unavailable. <br /></td></tr>
<tr class="separator:a537656c76260c7f669c713506a5f4651 inherit pub_methods_classcaffe_1_1BaseDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcaffe_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcaffe_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcaffe_1_1Layer.html">caffe::Layer&lt; Dtype &gt;</a></td></tr>
<tr class="memitem:a7b4e4ccea08c7b8b15acc6829d5735f6 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a7b4e4ccea08c7b8b15acc6829d5735f6">Layer</a> (const LayerParameter &amp;param)</td></tr>
<tr class="separator:a7b4e4ccea08c7b8b15acc6829d5735f6 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18d6bfdb535ab8e96a971dec4ae39a84 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a18d6bfdb535ab8e96a971dec4ae39a84">SetUp</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top)</td></tr>
<tr class="memdesc:a18d6bfdb535ab8e96a971dec4ae39a84 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements common layer setup functionality.  <a href="classcaffe_1_1Layer.html#a18d6bfdb535ab8e96a971dec4ae39a84">More...</a><br /></td></tr>
<tr class="separator:a18d6bfdb535ab8e96a971dec4ae39a84 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab57d272dabe8c709d2a785eebe72ca57 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">Dtype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#ab57d272dabe8c709d2a785eebe72ca57">Forward</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top)</td></tr>
<tr class="memdesc:ab57d272dabe8c709d2a785eebe72ca57 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given the bottom blobs, compute the top blobs and the loss.  <a href="classcaffe_1_1Layer.html#ab57d272dabe8c709d2a785eebe72ca57">More...</a><br /></td></tr>
<tr class="separator:ab57d272dabe8c709d2a785eebe72ca57 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a183d343f5183a4762307f2c5e6ed1e12 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a183d343f5183a4762307f2c5e6ed1e12">Backward</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top, const vector&lt; bool &gt; &amp;propagate_down, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom)</td></tr>
<tr class="memdesc:a183d343f5183a4762307f2c5e6ed1e12 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given the top blob error gradients, compute the bottom blob error gradients.  <a href="classcaffe_1_1Layer.html#a183d343f5183a4762307f2c5e6ed1e12">More...</a><br /></td></tr>
<tr class="separator:a183d343f5183a4762307f2c5e6ed1e12 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf4524ce8641a30a8a4784aee1b2b4c8 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a id="aaf4524ce8641a30a8a4784aee1b2b4c8"></a>
vector&lt; shared_ptr&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#aaf4524ce8641a30a8a4784aee1b2b4c8">blobs</a> ()</td></tr>
<tr class="memdesc:aaf4524ce8641a30a8a4784aee1b2b4c8 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the vector of learnable parameter blobs. <br /></td></tr>
<tr class="separator:aaf4524ce8641a30a8a4784aee1b2b4c8 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adff82274f146e2b6922d0ebac2aaf215 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a id="adff82274f146e2b6922d0ebac2aaf215"></a>
const LayerParameter &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#adff82274f146e2b6922d0ebac2aaf215">layer_param</a> () const</td></tr>
<tr class="memdesc:adff82274f146e2b6922d0ebac2aaf215 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layer parameter. <br /></td></tr>
<tr class="separator:adff82274f146e2b6922d0ebac2aaf215 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a1754828dda22cc8daa2f63377f3579 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a id="a4a1754828dda22cc8daa2f63377f3579"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a4a1754828dda22cc8daa2f63377f3579">ToProto</a> (LayerParameter *param, bool write_diff=false)</td></tr>
<tr class="memdesc:a4a1754828dda22cc8daa2f63377f3579 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the layer parameter to a protocol buffer. <br /></td></tr>
<tr class="separator:a4a1754828dda22cc8daa2f63377f3579 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a899410336f30821644c8bd6c69a070c9 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a id="a899410336f30821644c8bd6c69a070c9"></a>
Dtype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a899410336f30821644c8bd6c69a070c9">loss</a> (const int top_index) const</td></tr>
<tr class="memdesc:a899410336f30821644c8bd6c69a070c9 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the scalar loss associated with a top blob at a given index. <br /></td></tr>
<tr class="separator:a899410336f30821644c8bd6c69a070c9 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a899b09f4b91ada8545b3a43ee91e0d69 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a id="a899b09f4b91ada8545b3a43ee91e0d69"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a899b09f4b91ada8545b3a43ee91e0d69">set_loss</a> (const int top_index, const Dtype value)</td></tr>
<tr class="memdesc:a899b09f4b91ada8545b3a43ee91e0d69 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the loss associated with a top blob at a given index. <br /></td></tr>
<tr class="separator:a899b09f4b91ada8545b3a43ee91e0d69 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca3cb2bafaefda5d4760aaebd0b72def inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#aca3cb2bafaefda5d4760aaebd0b72def">MinBottomBlobs</a> () const</td></tr>
<tr class="memdesc:aca3cb2bafaefda5d4760aaebd0b72def inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the minimum number of bottom blobs required by the layer, or -1 if no minimum number is required.  <a href="classcaffe_1_1Layer.html#aca3cb2bafaefda5d4760aaebd0b72def">More...</a><br /></td></tr>
<tr class="separator:aca3cb2bafaefda5d4760aaebd0b72def inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8bdc989053e0363ab032026b46de7c3 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#af8bdc989053e0363ab032026b46de7c3">MaxBottomBlobs</a> () const</td></tr>
<tr class="memdesc:af8bdc989053e0363ab032026b46de7c3 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum number of bottom blobs required by the layer, or -1 if no maximum number is required.  <a href="classcaffe_1_1Layer.html#af8bdc989053e0363ab032026b46de7c3">More...</a><br /></td></tr>
<tr class="separator:af8bdc989053e0363ab032026b46de7c3 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64e2ca72c719e4b2f1f9216ccfb0d37f inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a64e2ca72c719e4b2f1f9216ccfb0d37f">ExactNumTopBlobs</a> () const</td></tr>
<tr class="memdesc:a64e2ca72c719e4b2f1f9216ccfb0d37f inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the exact number of top blobs required by the layer, or -1 if no exact number is required.  <a href="classcaffe_1_1Layer.html#a64e2ca72c719e4b2f1f9216ccfb0d37f">More...</a><br /></td></tr>
<tr class="separator:a64e2ca72c719e4b2f1f9216ccfb0d37f inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af452a938bc7596f9b5e9900c8dc4ab3d inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#af452a938bc7596f9b5e9900c8dc4ab3d">EqualNumBottomTopBlobs</a> () const</td></tr>
<tr class="memdesc:af452a938bc7596f9b5e9900c8dc4ab3d inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the layer requires an equal number of bottom and top blobs.  <a href="classcaffe_1_1Layer.html#af452a938bc7596f9b5e9900c8dc4ab3d">More...</a><br /></td></tr>
<tr class="separator:af452a938bc7596f9b5e9900c8dc4ab3d inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50130669e230a168d1f8fbbb8171f054 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a50130669e230a168d1f8fbbb8171f054">AutoTopBlobs</a> () const</td></tr>
<tr class="memdesc:a50130669e230a168d1f8fbbb8171f054 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return whether "anonymous" top blobs are created automatically by the layer.  <a href="classcaffe_1_1Layer.html#a50130669e230a168d1f8fbbb8171f054">More...</a><br /></td></tr>
<tr class="separator:a50130669e230a168d1f8fbbb8171f054 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c0b2bffcd6d57e4bd49f820941badb6 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a1c0b2bffcd6d57e4bd49f820941badb6">AllowForceBackward</a> (const int bottom_index) const</td></tr>
<tr class="memdesc:a1c0b2bffcd6d57e4bd49f820941badb6 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return whether to allow force_backward for a given bottom blob index.  <a href="classcaffe_1_1Layer.html#a1c0b2bffcd6d57e4bd49f820941badb6">More...</a><br /></td></tr>
<tr class="separator:a1c0b2bffcd6d57e4bd49f820941badb6 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a3708013b0231e71d725252e10ce6e3 inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a1a3708013b0231e71d725252e10ce6e3">param_propagate_down</a> (const int param_id)</td></tr>
<tr class="memdesc:a1a3708013b0231e71d725252e10ce6e3 inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies whether the layer should compute gradients w.r.t. a parameter at a particular index given by param_id.  <a href="classcaffe_1_1Layer.html#a1a3708013b0231e71d725252e10ce6e3">More...</a><br /></td></tr>
<tr class="separator:a1a3708013b0231e71d725252e10ce6e3 inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a6fcb843803ed556f0a69cc2864379b inherit pub_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a id="a9a6fcb843803ed556f0a69cc2864379b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a9a6fcb843803ed556f0a69cc2864379b">set_param_propagate_down</a> (const int param_id, const bool value)</td></tr>
<tr class="memdesc:a9a6fcb843803ed556f0a69cc2864379b inherit pub_methods_classcaffe_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets whether the layer should compute gradients w.r.t. a parameter at a particular index given by param_id. <br /></td></tr>
<tr class="separator:a9a6fcb843803ed556f0a69cc2864379b inherit pub_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcaffe_1_1InternalThread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcaffe_1_1InternalThread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcaffe_1_1InternalThread.html">caffe::InternalThread</a></td></tr>
<tr class="memitem:acffc1d9bc9e78f4146ba2d16f593fca7 inherit pub_methods_classcaffe_1_1InternalThread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1InternalThread.html#acffc1d9bc9e78f4146ba2d16f593fca7">StartInternalThread</a> ()</td></tr>
<tr class="separator:acffc1d9bc9e78f4146ba2d16f593fca7 inherit pub_methods_classcaffe_1_1InternalThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac72d8e2a23dbbe5203d5003dd67af73e inherit pub_methods_classcaffe_1_1InternalThread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1InternalThread.html#ac72d8e2a23dbbe5203d5003dd67af73e">StopInternalThread</a> ()</td></tr>
<tr class="separator:ac72d8e2a23dbbe5203d5003dd67af73e inherit pub_methods_classcaffe_1_1InternalThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff6725ab240da9bd0d4c0e7183ce0cf2 inherit pub_methods_classcaffe_1_1InternalThread"><td class="memItemLeft" align="right" valign="top"><a id="aff6725ab240da9bd0d4c0e7183ce0cf2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_started</b> () const</td></tr>
<tr class="separator:aff6725ab240da9bd0d4c0e7183ce0cf2 inherit pub_methods_classcaffe_1_1InternalThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a16238c3e219f4215faa4da08f670551f"><td class="memItemLeft" align="right" valign="top"><a id="a16238c3e219f4215faa4da08f670551f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Next</b> ()</td></tr>
<tr class="separator:a16238c3e219f4215faa4da08f670551f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a230e84eafe73df8e7da3c41b2e3430e1"><td class="memItemLeft" align="right" valign="top"><a id="a230e84eafe73df8e7da3c41b2e3430e1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Skip</b> ()</td></tr>
<tr class="separator:a230e84eafe73df8e7da3c41b2e3430e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f14e385399a658476642d225a2827f9"><td class="memItemLeft" align="right" valign="top"><a id="a5f14e385399a658476642d225a2827f9"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>load_batch</b> (<a class="el" href="classcaffe_1_1Batch.html">Batch</a>&lt; Dtype &gt; *batch)</td></tr>
<tr class="separator:a5f14e385399a658476642d225a2827f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classcaffe_1_1BasePrefetchingDataLayer"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classcaffe_1_1BasePrefetchingDataLayer')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classcaffe_1_1BasePrefetchingDataLayer.html">caffe::BasePrefetchingDataLayer&lt; Dtype &gt;</a></td></tr>
<tr class="memitem:aa2740717d51bd0b01646ace302991838 inherit pro_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="aa2740717d51bd0b01646ace302991838"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>InternalThreadEntry</b> ()</td></tr>
<tr class="separator:aa2740717d51bd0b01646ace302991838 inherit pro_methods_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classcaffe_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classcaffe_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classcaffe_1_1Layer.html">caffe::Layer&lt; Dtype &gt;</a></td></tr>
<tr class="memitem:a55c8036130225fbc874a986bdf4b27e2 inherit pro_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a55c8036130225fbc874a986bdf4b27e2">CheckBlobCounts</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;bottom, const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top)</td></tr>
<tr class="separator:a55c8036130225fbc874a986bdf4b27e2 inherit pro_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04eb2a3d1d59c64cd64c233217d5d6fc inherit pro_methods_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a04eb2a3d1d59c64cd64c233217d5d6fc">SetLossWeights</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; *&gt; &amp;top)</td></tr>
<tr class="separator:a04eb2a3d1d59c64cd64c233217d5d6fc inherit pro_methods_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classcaffe_1_1InternalThread"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classcaffe_1_1InternalThread')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classcaffe_1_1InternalThread.html">caffe::InternalThread</a></td></tr>
<tr class="memitem:a16fd45781962d8f59556b9323f11a397 inherit pro_methods_classcaffe_1_1InternalThread"><td class="memItemLeft" align="right" valign="top"><a id="a16fd45781962d8f59556b9323f11a397"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>must_stop</b> ()</td></tr>
<tr class="separator:a16fd45781962d8f59556b9323f11a397 inherit pro_methods_classcaffe_1_1InternalThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:af6384a1dcc37d32c7f556080da3c006d"><td class="memItemLeft" align="right" valign="top"><a id="af6384a1dcc37d32c7f556080da3c006d"></a>
shared_ptr&lt; <a class="el" href="classcaffe_1_1db_1_1DB.html">db::DB</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>db_</b></td></tr>
<tr class="separator:af6384a1dcc37d32c7f556080da3c006d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad26510baf81f48d92569ea95a8643af0"><td class="memItemLeft" align="right" valign="top"><a id="ad26510baf81f48d92569ea95a8643af0"></a>
shared_ptr&lt; <a class="el" href="classcaffe_1_1db_1_1Cursor.html">db::Cursor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>cursor_</b></td></tr>
<tr class="separator:ad26510baf81f48d92569ea95a8643af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1af404785922d764270d7d5a195d90df"><td class="memItemLeft" align="right" valign="top"><a id="a1af404785922d764270d7d5a195d90df"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>offset_</b></td></tr>
<tr class="separator:a1af404785922d764270d7d5a195d90df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classcaffe_1_1BasePrefetchingDataLayer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classcaffe_1_1BasePrefetchingDataLayer.html">caffe::BasePrefetchingDataLayer&lt; Dtype &gt;</a></td></tr>
<tr class="memitem:ae1beb4fe2338b694324e375624015a2c inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="ae1beb4fe2338b694324e375624015a2c"></a>
vector&lt; shared_ptr&lt; <a class="el" href="classcaffe_1_1Batch.html">Batch</a>&lt; Dtype &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>prefetch_</b></td></tr>
<tr class="separator:ae1beb4fe2338b694324e375624015a2c inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ca3d78f628c0290ee7254a918f7e5db inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a8ca3d78f628c0290ee7254a918f7e5db"></a>
<a class="el" href="classcaffe_1_1BlockingQueue.html">BlockingQueue</a>&lt; <a class="el" href="classcaffe_1_1Batch.html">Batch</a>&lt; Dtype &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>prefetch_free_</b></td></tr>
<tr class="separator:a8ca3d78f628c0290ee7254a918f7e5db inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93b1730c7e6b96c80488ad281bada2d4 inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a93b1730c7e6b96c80488ad281bada2d4"></a>
<a class="el" href="classcaffe_1_1BlockingQueue.html">BlockingQueue</a>&lt; <a class="el" href="classcaffe_1_1Batch.html">Batch</a>&lt; Dtype &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>prefetch_full_</b></td></tr>
<tr class="separator:a93b1730c7e6b96c80488ad281bada2d4 inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b95c4ad255203d052657695bc681a5c inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a4b95c4ad255203d052657695bc681a5c"></a>
<a class="el" href="classcaffe_1_1Batch.html">Batch</a>&lt; Dtype &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>prefetch_current_</b></td></tr>
<tr class="separator:a4b95c4ad255203d052657695bc681a5c inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbff8f9e7c0e0f4007d2cc742b4ad874 inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="afbff8f9e7c0e0f4007d2cc742b4ad874"></a>
<a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>transformed_data_</b></td></tr>
<tr class="separator:afbff8f9e7c0e0f4007d2cc742b4ad874 inherit pro_attribs_classcaffe_1_1BasePrefetchingDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classcaffe_1_1BaseDataLayer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classcaffe_1_1BaseDataLayer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classcaffe_1_1BaseDataLayer.html">caffe::BaseDataLayer&lt; Dtype &gt;</a></td></tr>
<tr class="memitem:a325727e5c4f305a3ffa5c8efc211a1c9 inherit pro_attribs_classcaffe_1_1BaseDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a325727e5c4f305a3ffa5c8efc211a1c9"></a>
TransformationParameter&#160;</td><td class="memItemRight" valign="bottom"><b>transform_param_</b></td></tr>
<tr class="separator:a325727e5c4f305a3ffa5c8efc211a1c9 inherit pro_attribs_classcaffe_1_1BaseDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c0e6fd07b912dd62087024a5ddeaa00 inherit pro_attribs_classcaffe_1_1BaseDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a8c0e6fd07b912dd62087024a5ddeaa00"></a>
shared_ptr&lt; <a class="el" href="classcaffe_1_1DataTransformer.html">DataTransformer</a>&lt; Dtype &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_transformer_</b></td></tr>
<tr class="separator:a8c0e6fd07b912dd62087024a5ddeaa00 inherit pro_attribs_classcaffe_1_1BaseDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a802076913164842d1f698014b489ca2e inherit pro_attribs_classcaffe_1_1BaseDataLayer"><td class="memItemLeft" align="right" valign="top"><a id="a802076913164842d1f698014b489ca2e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>output_labels_</b></td></tr>
<tr class="separator:a802076913164842d1f698014b489ca2e inherit pro_attribs_classcaffe_1_1BaseDataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classcaffe_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classcaffe_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classcaffe_1_1Layer.html">caffe::Layer&lt; Dtype &gt;</a></td></tr>
<tr class="memitem:a7ed12bb2df25c887e41d7ea9557fc701 inherit pro_attribs_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">LayerParameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a7ed12bb2df25c887e41d7ea9557fc701">layer_param_</a></td></tr>
<tr class="separator:a7ed12bb2df25c887e41d7ea9557fc701 inherit pro_attribs_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d04ad7f595a82a1c811f102d68b8a19 inherit pro_attribs_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">Phase&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a1d04ad7f595a82a1c811f102d68b8a19">phase_</a></td></tr>
<tr class="separator:a1d04ad7f595a82a1c811f102d68b8a19 inherit pro_attribs_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8073fcf2c139b47eb99ce71b346b1321 inherit pro_attribs_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">vector&lt; shared_ptr&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#a8073fcf2c139b47eb99ce71b346b1321">blobs_</a></td></tr>
<tr class="separator:a8073fcf2c139b47eb99ce71b346b1321 inherit pro_attribs_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd4a05def9ff3b42ad72404210613ef7 inherit pro_attribs_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#acd4a05def9ff3b42ad72404210613ef7">param_propagate_down_</a></td></tr>
<tr class="separator:acd4a05def9ff3b42ad72404210613ef7 inherit pro_attribs_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d347229a139500994e7a926c680486 inherit pro_attribs_classcaffe_1_1Layer"><td class="memItemLeft" align="right" valign="top">vector&lt; Dtype &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Layer.html#af6d347229a139500994e7a926c680486">loss_</a></td></tr>
<tr class="separator:af6d347229a139500994e7a926c680486 inherit pro_attribs_classcaffe_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2b6fa99ededf0863d8bab4a7a46addae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b6fa99ededf0863d8bab4a7a46addae">&#9670;&nbsp;</a></span>ExactNumBottomBlobs()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int <a class="el" href="classcaffe_1_1DataLayer.html">caffe::DataLayer</a>&lt; Dtype &gt;::ExactNumBottomBlobs </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the exact number of bottom blobs required by the layer, or -1 if no exact number is required. </p>
<p>This method should be overridden to return a non-negative value if your layer expects some exact number of bottom blobs. </p>

<p>Reimplemented from <a class="el" href="classcaffe_1_1Layer.html#a8e5ee0494d85f5f55fc4396537cbc60f">caffe::Layer&lt; Dtype &gt;</a>.</p>

</div>
</div>
<a id="ac47e9f3bff3db9d7364f6c392427745c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac47e9f3bff3db9d7364f6c392427745c">&#9670;&nbsp;</a></span>MaxTopBlobs()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int <a class="el" href="classcaffe_1_1DataLayer.html">caffe::DataLayer</a>&lt; Dtype &gt;::MaxTopBlobs </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the maximum number of top blobs required by the layer, or -1 if no maximum number is required. </p>
<p>This method should be overridden to return a non-negative value if your layer expects some maximum number of top blobs. </p>

<p>Reimplemented from <a class="el" href="classcaffe_1_1Layer.html#ac6c03df0b6e40e776c94001e19994a2e">caffe::Layer&lt; Dtype &gt;</a>.</p>

</div>
</div>
<a id="ab0c5a7504085a6699272cdcfa8611887"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0c5a7504085a6699272cdcfa8611887">&#9670;&nbsp;</a></span>MinTopBlobs()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int <a class="el" href="classcaffe_1_1DataLayer.html">caffe::DataLayer</a>&lt; Dtype &gt;::MinTopBlobs </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the minimum number of top blobs required by the layer, or -1 if no minimum number is required. </p>
<p>This method should be overridden to return a non-negative value if your layer expects some minimum number of top blobs. </p>

<p>Reimplemented from <a class="el" href="classcaffe_1_1Layer.html#ab9e4c8d642e413948b131d851a8462a4">caffe::Layer&lt; Dtype &gt;</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/caffe/layers/<a class="el" href="data__layer_8hpp_source.html">data_layer.hpp</a></li>
<li>src/caffe/layers/data_layer.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Aug 3 2017 23:11:22 for Caffe by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
